from devicetest.aw.OpenHarmony import CommonOH
from devicetest.core.test_case import TestCase, Step

from aw.common import common_setup, common_teardown
from aw.pom import DeskTop


class PreTest_RK3568_Basic_Desktop_1400(TestCase, DeskTop):
    # 预置条件：
    # 烧写目标版本后，正常进入桌面
    # 测试步骤：
    # 1、长按相机应用
    # 2、点击卡片中心
    # 3、点击相机
    # 4、点击添加到桌面
    # 预期结果：
    # 1、弹出选项弹框
    # 2、进入卡片中心页面
    # 3、进入相机卡片列表页
    # 4、相机服务卡片成功添加到桌面

    def __init__(self, controllers):
        self.TAG = self.__class__.__name__
        TestCase.__init__(self, self.TAG, controllers)

    def setup(self):
        common_setup(self.Phone1)

    def process(self):
        Step('步骤1、长按相机应用')
        x1, y1 = CommonOH.getPointByCondition(self.Phone1, '相机')
        CommonOH.click(self.Phone1, x=x1, y=y1 - 55, mode='LONG')
        Step('预期结果1、弹出选项弹框')
        CommonOH.checkIfTextExist(self.Phone1, '卡片中心')

        Step('步骤2、点击卡片中心')
        CommonOH.touchByText(self.Phone1, '卡片中心')
        Step('预期结果2、进入卡片中心页面')
        CommonOH.checkIfTextExist(self.Phone1, '服务卡片')

        Step('步骤3、点击相机')
        CommonOH.touchByText(self.Phone1, '相机')
        Step('预期结果3、进入相机卡片列表页')
        CommonOH.checkIfTextExist(self.Phone1, '相机')
        CommonOH.checkIfTextExist(self.Phone1, '添加到桌面')

        Step('步骤4、点击添加到桌面')
        CommonOH.touchByText(self.Phone1, '添加到桌面')
        Step('预期结果4、相机服务卡片成功添加到桌面')
        CommonOH.checkIfTypeExist(self.Phone1, 'FormComponent')

    def teardown(self):
        common_teardown(self.Phone1)
